import { setListFn, numMap } from './../../../utils';

import fan from './../../../../components/img/fan.png';

import fanActive from './../../../../components/img/fanActive.png';

import img from './../../../../components/img/paper03-3.png';

export const printUnitNum = 3;

export const printUniColorMap = {
  0: '#060606',
  1: '#1F54D9',
  2: '#74D32F',
  3: '#52D9D1',
  4: '#DB453D',
  5: '#D058D6',
  6: '#EAD92E',
  7: '#FFFFFF'
};

const printUnitList: any = [];

for (let i = 0; i < printUnitNum; i++) {
  const key = i + 1;

  printUnitList.push({
    type: 'tab',
    labelZh: `印刷${numMap[key]}单元`,
    labelEn: `Printing Unit ${key}`,
    labelRu: `Блок печати ${key}`,
    id: `adjustingSettingPrintUnit${key}`,
    isUp: false,
    isUpFunId: `improve${key}`,
    lightOn: false,
    lightOnFunId: `${key}PrintingInkRollerStart`,
    lightTopFunId: `${key}PrintingInkRollerTop`,
    lightTop: true,
    fanFunId: `${key}ColorFanStartStop`,
    fan: false,
    color: null,
    colorFunId: `${key}PrintingColor`,
    img,
    list: [
      {
        type: 'settingWrite',
        labelZh: '设置值',
        labelEn: 'Set Value',
        id: null,
        saveParameters: false,
        hiddenTitle: true,
        list: setListFn([
          {
            labelZh: '主机速度',
            labelEn: 'Machine speed',
            labelRu: 'Скорость главного устройства',
            type: 'input',
            list: [
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: 'productionSpeed',
                defaultValGetFunId: 'productionSpeed',
                blurChange: true
              }
            ]
          },
          {
            labelZh: '出厂参数设定',
            labelEn: 'Factory Parameter Settings',
            labelRu: 'Установка заводских параметров',
            type: 'input',
            hiddenLabel: true,
            list: [
              {
                modalType: 'factoryParameterPrintUnit',
                modalTypeTabName: `factoryParameterPrintUnit${key}`,
                inputType: 'btnOpenModal',
                labelZh: '出厂参数设定',
                labelEn: 'Factory Parameter Settings',
                labelRu: 'Установка заводских параметров',
                funId: null,
                defaultValGetFunId: null,
                blurChange: true
              }
            ]
          }
        ])
      },
      {
        type: 'btn',
        labelZh: null,
        labelEn: null,
        id: 'adjustingSettingDieCuttingUnitBtn',
        list: setListFn([
          {
            inputType: 'btnBool',
            labelZh: '墨棍启停',
            labelEn: 'Ink Roller Start/Stop',
            labelRu: 'Запуск и остановка красильного валика',
            funId: `${key}PrintingInkRollerOperation`,
            defaultValGetFunId: `${key}PrintingInkRollerOperation`,
            clickType: 'startAndEnd',
            writeVal: 1
          },
          {
            inputType: 'btnBool',
            labelZh: '墨泵强制',
            labelEn: 'Ink Pump Mandatory',
            labelRu: 'Принудительный режим красочного насоса',
            funId: `${key}ColorInkPumpForced`,
            defaultValGetFunId: `${key}ColorInkPumpForced`
          },
          {
            inputType: 'btnBool',
            labelZh: '松刹',
            labelEn: 'Loose the brake',
            labelRu: 'Отпустить тормоз',
            funId: `${key}ColorReleaseBrake`,
            defaultValGetFunId: `${key}ColorReleaseBrake`
          },
          {
            inputType: 'btnBool',
            labelZh: '检测皮带关闭',
            labelEn: 'Belt Closure Detecting',
            labelRu: 'Отключение контроля ленты',
            funId: `${key}ColorTestingBelts`,
            defaultValGetFunId: `${key}ColorTestingBelts`
          },
          {
            inputType: 'btnBool',
            labelZh: '墨泵启停',
            labelEn: 'Ink Pump Start/Stop',
            labelRu: 'Запуск и остановка красочного насоса',
            funId: `${key}PrintingInkPumpOperation`,
            defaultValGetFunId: `${key}PrintingInkPumpOperation`,
            clickType: 'startAndEnd',
            writeVal: 1
          },
          {
            inputType: 'btnBool',
            labelZh: '风机启停',
            labelEn: 'Fan Start/Stop',
            labelRu: 'Запуск и остановка вентилятора',
            funId: `${key}ColorFanStartStop`,
            defaultValGetFunId: `${key}ColorFanStartStop`
          }
        ])
      },
      {
        type: 'common',
        labelZh: null,
        labelEn: null,
        id: null,
        saveParameters: false,
        list: setListFn([
          {
            labelZh: '压印',
            labelEn: 'Embossing',
            labelRu: 'Тиснение',
            type: 'input',
            list: [
              {
                inputType: 'read',
                labelZh: '实际值',
                labelEn: 'Actual Value',
                labelRu: `Фактическое значение`,
                funId: `${key}ColorPrintingGapGet`
              },
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: `${key}ColorPrintingGapSet`,
                defaultValGetFunId: `${key}ColorPrintingGapSet`,
                blurChange: true
              },
              {
                inputType: 'btnBool',
                labelZh: '置数',
                labelEn: 'Value Reset',
                labelRu: 'Установка чисел',
                funId: `${key}ColorPrintingGapUpdate`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 1000
              },
              {
                inputType: 'btnBool',
                labelZh: '向后 +',
                labelEn: 'Backward +',
                labelRu: 'Назад +',
                funId: `${key}ColorPrintingGapAdd`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '向前 -',
                labelEn: 'Forward -',
                labelRu: 'Вперед -',
                funId: `${key}ColorPrintingGapSub`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '确定',
                labelEn: 'Confirm',
                funId: `${key}ColorPrintingGapSeal`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 0
              }
            ]
          },
          {
            labelZh: '着墨',
            labelEn: 'Inking',
            labelRu: 'Накатывание краски',
            type: 'input',
            list: [
              {
                inputType: 'read',
                labelZh: '实际值',
                labelEn: 'Actual Value',
                labelRu: `Фактическое значение`,
                funId: `${key}ColorScreenBarGapGet`
              },
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: `${key}ColorScreenBarGapSet`,
                defaultValGetFunId: `${key}ColorScreenBarGapSet`,
                blurChange: true
              },
              {
                inputType: 'btnBool',
                labelZh: '置数',
                labelEn: 'Value Reset',
                labelRu: 'Установка чисел',
                funId: `${key}ColorScreenBarGapUpdate`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 1000
              },
              {
                inputType: 'btnBool',
                labelZh: '向后 +',
                labelEn: 'Backward +',
                labelRu: 'Назад +',
                funId: `${key}ColorScreenBarGapAdd`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '向前 -',
                labelEn: 'Forward -',
                labelRu: 'Вперед -',
                funId: `${key}ColorScreenBarGapSub`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '确定',
                labelEn: 'Confirm',
                funId: `${key}ColorScreenBarGapSeal`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 0
              }
            ]
          },
          {
            labelZh: '相位',
            labelEn: 'Phase',
            labelRu: 'Фаза',
            type: 'input',
            list: [
              {
                inputType: 'read',
                labelZh: '实际值',
                labelEn: 'Actual Value',
                labelRu: `Фактическое значение`,
                funId: `${key}ColorPhaseGet`
              },
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: `${key}ColorPhaseSet`,
                defaultValGetFunId: `${key}ColorPhaseSet`,
                blurChange: true
              },
              {
                inputType: 'btnBool',
                labelZh: '清零',
                labelEn: 'Zeroing',
                labelRu: 'Сброс на ноль',
                funId: `${key}ColorPhaseUpdate`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 0,
                styleType: 'whiteBgColor'
              },
              {
                inputType: 'btnBool',
                labelZh: '向后 +',
                labelEn: 'Backward +',
                labelRu: 'Назад +',
                funId: `${key}ColorPhaseAdd`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '向前 -',
                labelEn: 'Forward -',
                labelRu: 'Вперед -',
                funId: `${key}ColorPhaseSub`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '确定',
                labelEn: 'Confirm',
                funId: `${key}ColorPhaseSeal`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 0
              }
            ]
          },
          {
            labelZh: '横移',
            labelEn: 'Traverse',
            labelRu: 'Поперечное перемещение',
            type: 'input',
            list: [
              {
                inputType: 'read',
                labelZh: '实际值',
                labelEn: 'Actual Value',
                labelRu: `Фактическое значение`,
                funId: `${key}ColorHorizontalShiftGet`
              },
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: `${key}ColorHorizontalShiftSet`,
                defaultValGetFunId: `${key}ColorHorizontalShiftSet`
              },
              {
                inputType: 'btnBool',
                labelZh: '置数',
                labelEn: 'Value Reset',
                labelRu: 'Установка чисел',
                funId: `${key}ColorHorizontalShiftUpdate`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 1000
              },
              {
                inputType: 'btnBool',
                labelZh: '向后 +',
                labelEn: 'Backward +',
                labelRu: 'Назад +',
                funId: `${key}ColorHorizontalShiftAdd`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '向前 -',
                labelEn: 'Forward -',
                labelRu: 'Вперед -',
                funId: `${key}ColorHorizontalShiftSub`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1
              },
              {
                inputType: 'btnBool',
                labelZh: '确定',
                labelEn: 'Confirm',
                funId: `${key}ColorHorizontalShiftSeal`,
                defaultValGetFunId: null,
                clickType: 'startAndEnd',
                writeVal: 1,
                clickTime: 0
              }
            ]
          }
        ])
      },
      {
        type: 'settingWrite',
        labelZh: '设置值',
        labelEn: 'Set Value',
        id: null,
        saveParameters: false,
        list: setListFn([
          {
            labelZh: '开启时间',
            labelEn: 'Start Time',
            labelRu: 'Время включения',
            type: 'input',
            list: [
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: `${key}PrintingInkPumpRunningTime`,
                defaultValGetFunId: `${key}PrintingInkPumpRunningTime`,
                blurChange: true
              }
            ]
          },
          {
            labelZh: '墨泵周期',
            labelEn: 'Ink Pump Period',
            labelRu: 'Период красочного насоса',
            type: 'input',
            list: [
              {
                inputType: 'readWrite',
                labelZh: '设置值',
                labelEn: 'Set Value',
                funId: `${key}PrintingInkPumpCycleTime`,
                defaultValGetFunId: `${key}PrintingInkPumpCycleTime`,
                blurChange: true
              }
            ]
          }
        ])
      },
      {
        type: 'btn',
        labelZh: null,
        labelEn: null,
        id: null,
        saveParameters: false,
        list: setListFn([
          {
            inputType: 'btnBoolImg',
            img: null,
            imgTrue: fanActive,
            imgFalse: fan,
            labelZh: '风扇 1',
            labelEn: 'Fan 1',
            labelRu: 'Вентилятор 1',
            funId: `${key}ColorAirDuct3`,
            defaultValGetFunId: `${key}ColorAirDuct3`
          },
          {
            inputType: 'btnBoolImg',
            img: null,
            imgTrue: fanActive,
            imgFalse: fan,
            labelZh: '风扇2',
            labelEn: 'Fan 2',
            labelRu: 'Вентилятор 2',
            funId: `${key}ColorAirDuct2`,
            defaultValGetFunId: `${key}ColorAirDuct2`
          },
          {
            inputType: 'btnBoolImg',
            img: null,
            imgTrue: fanActive,
            imgFalse: fan,
            labelZh: '风扇3',
            labelEn: 'Fan 3',
            labelRu: 'Вентилятор 3',
            funId: `${key}ColorAirDuct1`,
            defaultValGetFunId: `${key}ColorAirDuct1`
          },
          {
            inputType: 'btnBoolImg',
            img: null,
            imgTrue: fanActive,
            imgFalse: fan,
            labelZh: '风扇4',
            labelEn: 'Fan 4',
            labelRu: 'Вентилятор 4',
            funId: `${key}ColorAirDuct2`,
            defaultValGetFunId: `${key}ColorAirDuct2`
          },
          {
            inputType: 'btnBoolImg',
            img: null,
            imgTrue: fanActive,
            imgFalse: fan,
            labelZh: '风扇5',
            labelEn: 'Fan 5',
            labelRu: 'Вентилятор 5',
            funId: `${key}ColorAirDuct3`,
            defaultValGetFunId: `${key}ColorAirDuct3`
          }
        ])
      }
    ]
  });
}

export default [
  {
    type: 'tab',
    labelZh: `印刷单元`,
    labelEn: `Printing Unit`,
    labelRu: 'Блок печати',
    id: `adjustingSettingPrintUnit`,
    printUniColorMap,
    list: printUnitList
  }
];
